/**
 * @(#) JobService.java
 */

package org.vsg.common.jobscheduler.service;

import java.util.List;

import org.vsg.common.jobscheduler.vo.Argument;
import org.vsg.common.jobscheduler.vo.JobInfo;
import org.vsg.common.jobscheduler.vo.TriggerJob;

/**
 * 
 * @author vison
 *
 */
public interface JobService {
	
	/**
	 * show the list Module jobinfo
	 * @return
	 */
	List<JobInfo> listModuleAvaiRegJobs();
	
	/**
	 * get the reg job info
	 * @param code
	 * @return
	 */
	JobInfo getModuleAvaiRegJob(String code);
	
	/**
	 * get some argument by code
	 * @param code
	 * @return
	 */
	List<Argument> getJobInfoArgumentByCode(String code);
	
	/**
	 * list all schedule job handle
	 * @return
	 */
	List<TriggerJob> listAllScheduledJobsByGroup(String groupName);
	
	
}
